﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Microsoft.Reporting.WebForms;
using ReportesDAL;
using ReportesDAL.DtsCampañasTableAdapters;

namespace VentaPorCatalogos.Reports
{
    public partial class rptCampañas : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                BindearReporte(false);
            }
        }

        protected void btnMostrar_Click(object sender, EventArgs e)
        {
            try
            {
                BindearReporte(true);
            }
            catch (Exception)
            {
                
                throw;
            }

        }

        private void BindearReporte(bool pConectar)
        {
            try
            {
                int? wPageCount = 0;
                DtsCampañas.Campañas_GetAllPaginatedDataTable dsCampañas = new DtsCampañas.Campañas_GetAllPaginatedDataTable();

                if (pConectar)
                {
                    int outAñoDesde, outAñoHasta;
                    int? AñoDesde, AñoHasta;
                    bool Cerrado;
                    if (String.IsNullOrEmpty(txtAñoDesde.Text) || !int.TryParse(txtAñoDesde.Text, out outAñoDesde))
                    { AñoDesde = null; }
                    else { AñoDesde = outAñoDesde; }
                    if (String.IsNullOrEmpty(txtAñoHasta.Text) || !int.TryParse(txtAñoHasta.Text, out outAñoHasta))
                    { AñoHasta = null; }
                    else
                    { AñoHasta = outAñoHasta; }
                    Cerrado = ckbCerrado.Checked;

                    Campañas_GetAllPaginatedTableAdapter TbaCampaña = new Campañas_GetAllPaginatedTableAdapter();
                    TbaCampaña.Fill(dsCampañas, null, null, null, AñoDesde, AñoHasta, Cerrado, null, null, ref wPageCount);
                }

                ReportDataSource rdsCampaña = new ReportDataSource();
                rdsCampaña.Value = dsCampañas;
                rdsCampaña.Name = "dsCampañas";

                rptViewer.LocalReport.DataSources.Clear();
                rptViewer.LocalReport.ReportPath = @"Reports\Campañas\rptCampañas.rdlc";
                rptViewer.LocalReport.DataSources.Add(rdsCampaña);
                rptViewer.LocalReport.Refresh();
            }
            catch (Exception)
            {
                throw;
            }

        }
    }
}